// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

enum E1 {
  x(b: 1),
  y(a: 0, b: 1),
  z(b: 1, c: 2);

  final int? a;
  final int b;
  final int c;

  const E1({this.a, required this.b, this.c = 42});
}

enum E2 {
  x(0),
  y(0, 1),
  z(0, 1, 2);

  final int a;
  final int? b;
  final int c;

  const E2(this.a, [this.b, this.c = 42]);
}

enum E3 {
  x(b: 1),
  y(a: 0, b: 1),
  z(b: 1, c: 2);

  const E3({int? a, required int b, int c = 42});
}

enum E4 {
  x(0),
  y(0, 1),
  z(0, 1, 2);

  const E4(int a, [int? b, int c = 42]);
}
